home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / comm / fido / OBManager.lha / OBManager / ARexx / db / Config next >
Text File  |  1996-11-09  |  906b  |  37 lines

  1. /*
  2.  * Config
  3.  *
  4.  * USAGE:
  5.  *    INTERPRET "CALL 'db/Config'('SAVE',cfg_file,template,"template")"
  6.  *    INTERPRET 'db/Config'('LOAD',cfg_file,cfg_default)
  7.  *
  8.  * REQUIREMENTS:
  9.  *    REXX:dos/ReadBlock
  10.  *    REXX:dos/WriteBlock
  11.  *
  12.  * Config is a module that let you store and retrive little configuration
  13.  * files for an ARexx script...
  14.  *
  15.  * $(C): (1996, Rocco Coluccelli, Bologna)
  16.  * $VER: Config 0.14 (09.Nov.1996)
  17.  */
  18.  
  19. OPTIONS RESULTS
  20. PARSE UPPER VALUE ARG(1) WITH act +1
  21.  
  22. IF act = "S" THEN DO
  23.     v = '00'x; w = "||'00'x||"; cfg = ""; args = ARG(3); argv = ARG(4)
  24.     DO UNTIL args = ""
  25.         PARSE VAR args arg (w) args; PARSE VAR argv val (v) argv
  26.         IF DATATYPE(val,'N') THEN cfg = cfg || arg"="val || '0a'x; ELSE cfg = cfg || arg"='"C2X(val)"'x" || '0a'x
  27.     END; RETURN 'dos/WriteBlock'(ARG(2),cfg)
  28. END
  29. ELSE IF act = "L" THEN DO
  30.     CALL 'dos/ReadBlock'(ARG(2))
  31.     IF result = "" THEN RETURN ARG(3)
  32.     RETURN result
  33. END
  34.  
  35. RETURN 0
  36.  
  37.